package com.zhengbing.tj.design.template;

/**
 * 模板方法模式抽象基类
 *
 * @author zhengbing
 * @date 2025-07-16
 */
public abstract class AbstractTemplate {
    /**
     * 模板方法，定义算法骨架
     */
    public final void execute() {
        stepOne();
        stepTwo();
        stepThree();
    }

    protected abstract void stepOne();
    protected abstract void stepTwo();
    protected void stepThree() {
        // 可选钩子方法，默认实现
        System.out.println("默认的第三步");
    }
} 